




/******************************************
功能：去除传入串的左边空格
返回：替换后的串
时间：Linz 2009-11-30
******************************************/
function ltrim(s)
{
	return s.replace(/^\s*/, "");
}


/******************************************
功能：去除传入串的右边空格
返回：替换后的串
时间：Linz 2009-11-30
******************************************/
function rtrim(s)
{
	return s.replace(/\s*$/, "");
}


/******************************************
功能：去除传入串的左右边空格
返回：替换后的串
时间：Linz 2009-11-30
******************************************/
function trim(s)
{
	return rtrim(ltrim(s));
}


/******************************************
功能：去除传入串的左右边空格
返回：替换后的串
时间：Linz 2009-11-30
******************************************/
function trim2(s)
{
	return s.replace(/^[\s\t ]+|[\s\t ]+$/g, '');
}








/******************************************
功能：判断传入的串是否为空
返回：true->空, false->非空
时间：Linz 2009-11-30
******************************************/
function isNull(s)
{
	if (s==null || s.length==0 || trim(s)=='')
	{
		return true;
	}
	return false;
}

/******************************************
 功能：判断传入的串是否为网站
 返回：true->是, false->否
 时间：qiuhr 2016-10-14
 ******************************************/
function isUrl(s) {
    var  RegUrl = new RegExp();
    RegUrl.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");
    if (!RegUrl.test(s)) {
        return false;
    }
    return true;
}

/******************************************
功能：判断传入的串是否为正整数
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isDigit(s)
{
	var pattern = /^[1-9]{1}\d*$/;
	return pattern.test(s);
}


/******************************************
功能：判断传入的串是否为数字
返回：true->是, false->否
时间：yuyi 2015-03-30
******************************************/
function isNum(s)
{
	var pattern = /^[0-9]*$/;
	return pattern.test(s);
}

/******************************************
功能：判断传入的值是否为整数
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isInteger(s)
{
	var pattern = /^\d*$/;
	return pattern.test(s);
}


/******************************************
功能：判断传入的串是否为字母(a-zA-Z)
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isLetter(s)
{
	var pattern = /^[A-Za-z]+$/;
	return pattern.test(s);
}

/******************************************
功能：判断传入的串是否为字母+数字的组合(0-9a-zA-Z)
返回：true->是, false->否
 ******************************************/
function isLetterAndDigit(s)
{
	var pattern =  /^[0-9a-zA-Z]*$/g;
	return pattern.test(s);
}


/******************************************
功能：判断传入的串是否全法，要求是首字为字母，后面可以为字母，数字或_
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isLegalString(s)
{
	var pattern = /^[A-Za-z]{1}\w*$/;
	return pattern.test(s);
}


/******************************************
功能：检查字符串是否全部半角,全是返回true,只要有一个不是返回false
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isHalf(s)
{
	var c;
	for (var i=0; i<s.length; i++)
	{
		c = s.charCodeAt(i);
		if (c>255)
		{
			return false;
		}
	}
	return true;
}


/******************************************
功能：判断传入的串是否为正确的IP地址
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isIp(s)
{
	var pattern = /^(((2[0-4]\d)|(25[0-5]))|(1\d{2})|([1-9]\d)|(\d))[.](((2[0-4]\d)|(25[0-5]))|(1\d{2})|([1-9]\d)|(\d))[.](((2[0-4]\d)|(25[0-5]))|(1\d{2})|([1-9]\d)|(\d))[.](((2[0-4]\d)|(25[0-5]))|(1\d{2})|([1-9]\d)|(\d))$/;
	return pattern.test(s);
}



/******************************************
功能：判断多对象的集合中是否已选择过
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isSeletedInElement(elename)
{
	var count=0;
	var list = document.getElementsByName(elename);
	for (var i=0; i<list.length; i++)
	{
		if (list[i].checked)
		{
			count++;
		}
	}
	return count>0 ? true : false;
}



/******************************************
功能：判断传入的串是否为正确的时间格式
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isDateString(s)
{
	var pattern = /^(\d{4})-(0\d{1}|1[0-2])-(0\d{1}|[12]\d{1}|3[01])$/;
	return pattern.test(s);
}



/******************************************
功能：判断传入的串是否为正确的小时格式
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isHourString(s)
{
	var pattern = /^[0-1]\d|[2][0-3]$/;
	return pattern.test(s);
}



/******************************************
功能：判断传入的串是否为正确的分钟格式
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isMinuteString(s)
{
	var pattern = /^[0-5]\d$/;
	return pattern.test(s);
}



/******************************************
功能：判断文件名是否为XLS
返回：true->是, false->否
时间：Linz 2009-11-30
******************************************/
function isXlsFileString(s)
{
	var pattern = /^.*\.XLS$/;
	return pattern.test(s);
}



/******************************************
功能：以今天累加天数
返回：日期，格式XXXX-XX-XX
时间：Linz 2009-11-30
******************************************/
function addDays(ds)
{
	var today = new Date();
	var date  = new Date(today.getTime()+ds*1000*60*60*24);
	var y     = date.getFullYear();
	var m     = date.getMonth()+1;
	var d     = date.getDate();
	return y+'-'+(m<10?'0'+m:m)+'-'+(d<10?'0'+d:d);
}


/******************************************
功能：判断传入的串是否为正整数
返回：true->是, false->否
时间：yuyi 2014-04-11
******************************************/
function isDigit(s)
{
	var pattern = /^[1-9]{1}\d*$/;
	return pattern.test(s);
}

/******************************************
功能：判断传入的串是否为手机号
返回：true->是, false->否
时间：yuyi 2014-04-11
******************************************/
function isMobil(s)
{
	var patrn=/^[1][0-9][0-9]{9}$/;
	
	if (!patrn.exec(s)) return false
	return true
}

/******************************************
功能：判断传入的串是否为西藏13位的手机号
返回：true->是, false->否
时间：yuyi 2016-09-02
 ******************************************/
function is13Mobil(s)
{
	var patrn=/^[1][0-9][0-9]{11}$/;
	
	if (!patrn.exec(s)) return false
	return true
}

/******************************************
功能：判断传入的串是否为数字或字母
返回：true->是, false->否
时间：yuyi 2014-04-11
******************************************/
function isNumAndLetter(s)
{
	var patrn=/^[0-9A-F]+$/;
	if (!patrn.exec(s)) return false
	return true
}

/******************************************
功能：计算两个时间的差值
返回：时间差（秒）
时间：huangjsh 2014-11-19
******************************************/
function timeDiff(starttime,endtime)
{
	
	//1.判断传入格式是否是2014-11-19 10 格式，若是则转为2014-11-19 10:00格式
	if(starttime.length == 13)
		starttime += ":00"; 
	if(endtime.length == 13)
		endtime += ":00"; 
	
	//2.计算endtime和starttime的差值（毫秒）
    var date1 = new Date(starttime);  //开始时间  
	var date2 = new Date(endtime);    //结束时间  
	
	var date3 = date2.getTime()-date1.getTime();  //时间差的毫秒数 
	
	
	//3.返回值（秒）
	return date3/1000;
	
}

/******************************************
功能：比较两个ip的大小
返回：1->第一个ip大, -1->第一个ip小,0->一样大
时间：lhong 2012-07-08
******************************************/
function compareIp(ip1,ip2){
	var ip1Arr = ip1.split(".");
	var ip2Arr = ip2.split(".");
	for(var i = 0;i<ip1Arr.length;i++){
		if(parseInt(ip1Arr[i])>parseInt(ip2Arr[i])) 
		{
			return 1;
		}
		if(parseInt(ip1Arr[i])<parseInt(ip2Arr[i])) 
		{
			return -1;
		}
	}
	return 0;
}


/******************************************
功能：计算两个日期的差值（绝对值）
返回：时间差绝对值（天）
时间：huangjsh 2014-11-19
******************************************/
function deteDiff(starttime,endtime)
{
	//1.判断传入格式是否是2014-11-19 10 格式，若是则转为2014-11-19 10:00格式
	if(starttime.length == 13)
		starttime += ":00"; 
	if(endtime.length == 13)
		endtime += ":00"; 
	
	//2.计算endtime和starttime的差值（毫秒）
    var date1 = new Date(starttime);  //开始时间  
	var date2 = new Date(endtime);    //结束时间  
	var date3 = date2.getTime()-date1.getTime();  //时间差的毫秒数 

	//3.返回值,绝对值（天）
	return parseInt(Math.abs(date3)/1000/60/60/24);
	
}

function isPwd(s) 
{ 
	var pattern = /^\w+$/; //只能输入中文、字母、数字
	if(!pattern.test(s)){
		return false;
	}
	return true;
} 

function getByteLen(str)
{
    return str.replace(/[^\x00-\xff]/g,'**').length;
}

function formatDate(date,format){ 
    var paddNum = function(num){ 
      num += ""; 
      return num.replace(/^(\d)$/,"0$1"); 
    } 
    //指定格式字符 
    var cfg = { 
       yyyy : date.getFullYear() //年 : 4位 
      ,yy : date.getFullYear().toString().substring(2)//年 : 2位 
      ,M  : date.getMonth() + 1  //月 : 如果1位的时候不补0 
      ,MM : paddNum(date.getMonth() + 1) //月 : 如果1位的时候补0 
      ,d  : date.getDate()   //日 : 如果1位的时候不补0 
      ,dd : paddNum(date.getDate())//日 : 如果1位的时候补0 
      ,hh : date.getHours()  //时 
      ,mm : date.getMinutes() //分 
      ,ss : date.getSeconds() //秒 
    } 
    format || (format = "yyyy-MM-dd hh:mm:ss"); 
    return format.replace(/([a-z])(\1)*/ig,function(m){return cfg[m];}); 
} 

function fileVerifiCation(fileName){
//	var fileName =  $(id).val();
	if (isNull(fileName))
	{
		parent.layer.msg("请选择上传文件!", {
			shift : 5
		});
		$(id).focus();
		return false;
	}
	if (fileName.indexOf(".")==-1)
	{
		parent.layer.msg("非法文件!", {
			shift : 5
		});
		$(id).focus();
		return false;
	}
	if (!isHalf(fileName))
	{
		parent.layer.msg("上传文件不能包含汉字!", {
			shift : 5
		});
		$(id).focus();
		return false;
	}
	var fname = fileName.substring(fileName.lastIndexOf(".")+1);	//文件名称
	fname = fname.toUpperCase();
	if (!(fname=="TXT"))
	{
		parent.layer.msg("上传文件格式错误!", {
			shift : 5
		});
		$(id).focus();
		return false;
	}
	return true;
}
/*function getByteLen(val) {  
    var len = 0;            
    for (var i = 0; i < val.length; i++) {
               var a = val.charAt(i);   
               if (a.match(/[^\x00-\xff]/ig) != null){   
                      len += 2;             
               }else{      
                     len += 1;             
            }        
     }            
 return len;   
}*/ 




